package generationTache.generationControle;

import generationTache.IGenerationTache;

/**
 * Permet de creer des taches periodiques de facon controle (parametres connus)
 * @author nicolas rault et matthieu allon
 *
 */
public class TachePeriodiqueCo implements IGenerationTache
{
	
	private int Di;
	private int Ci;
	private int ri;
	private int Pi;
	private int Up;
	private boolean active;
	private int duree;
	
	/**
	 * Permet de créer des taches periodiques avec des valeurs fixes
	 * @param Di valeur du Di de la tache
	 * @param Ci valeur du Ci de la tache
	 * @param Pi valeur du Pi de la tache
	 * @param Up Part du processus alloué aux taches periodiques
	 */
	public TachePeriodiqueCo(int Di, int Ci, int Pi, int Up)
	{
		this.Di = Di;
		this.Ci = Ci;		
		this.Pi = Pi;
		this.Up = Up;
		ri = 0;
		active = false;
		duree = Ci;
	}
	
	public boolean getActive()
	{
		return active;
	}
	
	public void setActive(boolean active)
	{
		this.active = active;
	}
	
	public int getDuree()
	{
		return duree;
	}
	
	public void setDuree(int duree)
	{
		this.duree = duree;
	}

	public int getDi() {
		return Di;
	}

	public int getCi() {
		return Ci;
	}

	public int getRi() {
		return ri;
	}

	public int getPi() {
		return Pi;
	}
	
	public int getUp() {
		return Up;
	}
	
	public void setRi(int ri){
		this.ri = ri;
	}
	
	public void setPi(int Pi){
		this.Pi = Pi;
	}

	public void setCi(int Ci) 
	{
		this.Ci = Ci;
	}

	public void setDi(int Di) 
	{
		this.Di = Di;
	}

	public void setUp(int Up) {
		this.Up = Up;
	}
	
}